1. The Technical Field
This invention relates to metered usage of computer software and other intellectual property existing in electronic digital format. The end result of the invention enables services such as software-on-demand and software subscription. This invention can also be applied to the prevention of piracy of computer software and other intellectual property.
2. Description of the Prior Art
In the current consumer market, computer software and other intellectual property existing in digital format are primarily marketed the same as other hard goods commodities. However, while video tapes and other hard goods are rented routinely, software products typically are still available only on a purchase basis. As a result, at least two useful services generally are not available: software-on-demand and software subscription. Software-on-demand is a service that would allow consumers to pay for software products on a per-use basis. Software subscription is a service that would make one or more software products available to consumers on a periodic subscription basis such as once a month.
Despite the obvious benefits of these services, the inherent nature of software products has posed significant technical challenges to enabling technology providers. In order to successfully support these services, the enabling technology should meet the following criteria:
I. Security. Software product made available in software-on-demand and subscription format should be protected and regulated in a totally secure manner. The enabling technology must defend the software from the most skilled and determined hackers. In particular, at no time should the software in its original state be present on an intermediate storage medium, because this simply opens the door for skilled system level hackers. There is also the possibility that utilities would become available that would make such an intermediate storage medium accessible to the public. PA0 II. Non-Intrusiveness. The enabling technology should not require modification of source code in order to protect and meter usage. In contrast, intrusive technology embeds itself in the source code of software products and requires recompilation of the software. This effort introduces significant overhead in the protection process in terms of extra coding and testing resources, and is highly error prone. PA0 III. Minimal System Overhead. The enabling technology should not impose significant overhead while protecting, launching, and metering usage of the software product. Typical overhead introduced by enabling technology includes the need for extra RAM and hard disk storage space, the launching of the protecting process before decrypting protected software, and competition for other system resources, such as the CPU, while monitoring usage. PA0 IV. Immunity From System Clock Reset. By altering a computer system's clock setting, users of software products can significantly prolong their allowed usage period and consequently compromise the effectiveness of software-on-demand and software subscription services. The enabling technology should be able to detect and take counter-measure actions against system clock resets. PA0 V. Perpetual Protection And Metering. Once a software publisher puts his software under the protection and control of the enabling technology, it should be perpetually protected and controlled. Subsequent copies and reinstallation should not disable the protection and control. PA0 VI. User Friendliness. The enabling technology should not alter a computer user's environment in a way that causes changes in system settings that are noticeable to the user. The user interface should be totally intuitive and easy to use. PA0 I. Security flaw. Since "wrapper" and "redirection" technology requires a temporary storage medium to physically host either all the restored software or the residual portion of the software in its original state, the very existence of the material in its original state accessible by a system user makes the system vulnerable to hacker attacks. It is possible for an operating system expert to gain access to the material in its original state and redistribute a pirated version of the material. A utility software program could also possibly be developed to perform this act of piracy repeatedly and can be made available in the public domain to further damage the effectiveness of the enabled services. While wrapper and redirection technologies can protect software from novice attacks, they are not highly secure against experts. PA0 II. System overhead. Launching the "wrapper" program, physically storing the restored software in its original state, and creating and administrating the temporary storage medium all impose delay before launching the user desired software product. These activities also compete for other system resources with other processes run by the operating system. PA0 III. Space overhead. Storage of the restored software product in its original state in Random Access Memory (RAM) will require greater than 100% more RAM space than the protected software normally requires. In a multiple process operating system, where multiple protected software can be executed simultaneously, this overhead requirement can be multiplied and significantly impact the system's performance. PA0 IV. Unwelcome Nuisance. The creation of a temporary storage medium in a computer system, such as a virtual device, is an artifact normally unwelcome and foreign to computer system users. Therefore, the user will eventually want to purchase the original material in its entirety to eliminate the nuisance and artifacts generated by wrapper and redirection technologies. Thus, these technologies do not lend themselves to providing perpetual usage metering and protection services.
Available prior art protection techniques are based on "wrapper" and "redirection" technologies. A "wrapper" often takes the form of a operating system shell program or an altered start-up code section of the protected software. Its function is to shield direct access to the protected software. When the protected software is accessed by users, the "wrapper" will be executed first. The protected software in its encrypted state will be then decrypted and restored on a temporary storage medium in its original state. The "wrapper" will then redirect the access to the restored software on the temporary storage medium.
A system developed by TestDrive Corporation in Santa Clara, Calif., offers try-before-buy software evaluation services. This system converts an original version of software to a disabled version that may be used for a limited trial or evaluation period. If purchase of software is desired, an unlock code may be purchased that converts the software to its original state. In a preferred embodiment, this prior art system is applied to chosen material, such as a computer program, and a portion of the material is separated from the original material. In this way, a denatured version of the original material that includes the separated portion of the material and the residual portion of the material is produced. During the trial period, the denatured version of the material is placed into a temporary storage medium but only the separated portion is readily accessed by a system user. Alternatively, the separated portion of the material may be replaced with a modified portion, for example, a counter may be included to limit the number of times the material may be accessed, or interfering material may be added to the original material, such as beeps in an audio signal, or a mask in a visual signal.
Several drawbacks in these "wrapper" and "redirection" technology based systems are obvious.
Currently there is no known highly secure method that provides real time decryption of encrypted software or other electronic material without redirecting and storing the decrypted material on a temporary medium.